<?php
class MenusController extends AppController
{
	var $name = 'Menus';
	var $uses = array('Producto','Dato','Menu','Direccione','Cliente','Sugerencia','Pago');
	//var $helpers = array('Html','Form');
	
	function index()
	{
		$this->layout = 'home';
		$datos = $this->Dato->find('first',array('order'=>array('Dato.id DESC')));
		$hInicialFormato=$datos['Dato']['horainicial'];
		$hFinalFormato=$datos['Dato']['horafinal'];
		if ($hInicialFormato>strtotime('12:00:00'))
		{
			$string='AM';
			$this->set('string',$string);
		}
		else
		{
			$string='no compara';
			$this->set('string',$string);
		} 
		$this->set('datos',$datos);
		$fechaDia=date('0000-00-00 H:i:s');
		$fechaDate=date('Y-m-d');
		$this->set('fechaDate',$fechaDate);
		$this->Producto->bindModel(array(
		'hasAndBelongsToMany'=>array(
		'Menu'=>array(
		'conditions'=>array('Menu.fecha'=>$fechaDate)))));
		
		$productosPrincipal=$this->Producto->Menu->find('all',array('conditions'=>array('Menu.fecha'=>$fechaDate)));
		$this->set('productosPrincipal',$productosPrincipal);
		$conteoProductos=$this->Producto->Menu->find('count',array('conditions'=>array('Menu.fecha'=>$fechaDate)));
		$this->set('conteoProductos',$conteoProductos);
		$direcciones=$this->Direccione->find('all');
		$this->set('direcciones',$direcciones);
		$hora=$this->Dato->find('first',array('fields'=>array('Dato.horafinal')));
		$horaFinal = $hora['Dato']['horafinal'];
		//$horaFinal->format('H:i:s');
		$this->set('horaFinal',$horaFinal);
		
		if ($fechaDia>$horaFinal)
		{
			$tipoContenido=true;
			$this->set('tipoContenido',$tipoContenido);
		}
		else
		{
			$tipoContenido=false;
			$this->set('tipoContenido',$tipoContenido);
		}
		
	} 
	function consultar()
	{
		$this->layout = 'home';
		$datos = $this->Dato->find('first',array('order'=>array('Dato.id DESC')));
		$hInicialFormato=$datos['Dato']['horainicial'];
		$hFinalFormato=$datos['Dato']['horafinal'];
		if ($hInicialFormato>strtotime('12:00:00'))
		{
			$string='AM';
			$this->set('string',$string);
		}
		else
		{
			$string='no compara';
			$this->set('string',$string);
		} 
		$this->set('datos',$datos);
		$fechaDia=date('0000-00-00 H:i:s');
		$fechaDate=date('Y-m-d');
		$this->set('fechaDate',$fechaDate);
		$this->Producto->bindModel(array(
		'hasAndBelongsToMany'=>array(
		'Menu'=>array(
		'conditions'=>array('Menu.fecha'=>$fechaDate)))));
		
		$productosPrincipal=$this->Producto->Menu->find('all',array('conditions'=>array('Menu.fecha'=>$fechaDate)));
		$this->set('productosPrincipal',$productosPrincipal);
		$conteoProductos=$this->Producto->Menu->find('count',array('conditions'=>array('Menu.fecha'=>$fechaDate)));
		$this->set('conteoProductos',$conteoProductos);
		$direcciones=$this->Direccione->find('all');
		$this->set('direcciones',$direcciones);
		$metodosPago= $this->Pago->find('all');
		$this->set('metodosPago',$metodosPago);
		$hora=$this->Dato->find('first',array('fields'=>array('Dato.horafinal')));
		$horaFinal = $hora['Dato']['horafinal'];
		//$horaFinal->format('H:i:s');
		$this->set('horaFinal',$horaFinal);
		
		if ($fechaDia>$horaFinal)
		{
			$tipoContenido=true;
			$this->set('tipoContenido',$tipoContenido);
		}
		else
		{
			$tipoContenido=false;
			$this->set('tipoContenido',$tipoContenido);
		}	
	} 
	function detalle()
	{
		if($this->Session->read('admin')==0)
			{
				$this->layout = 'bajo';
			}
		else if($this->Session->read('admin')==1)
		{
			$this->layout = 'default';
		}
		else
			$this->layout = 'medio';
			
		$datos = $this->Dato->find('first',array('order'=>array('Dato.id DESC')));
		$hInicialFormato=$datos['Dato']['horainicial'];
		$hFinalFormato=$datos['Dato']['horafinal'];
		if ($hInicialFormato>strtotime('12:00:00'))
		{
			$string='AM';
			$this->set('string',$string);
		}
		else
		{
			$string='no compara';
			$this->set('string',$string);
		} 
		$this->set('datos',$datos);
		$fechaDia=date('0000-00-00 H:i:s');
		$fechaDate=date('Y-m-d');
		$this->set('fechaDate',$fechaDate);
		$this->Producto->bindModel(array(
		'hasAndBelongsToMany'=>array(
		'Menu'=>array(
		'conditions'=>array('Menu.fecha'=>$fechaDate)))));
		
		$productosPrincipal=$this->Producto->Menu->find('all',array('conditions'=>array('Menu.fecha'=>$fechaDate)));
		$this->set('productosPrincipal',$productosPrincipal);
		$conteoProductos=$this->Producto->Menu->find('count',array('conditions'=>array('Menu.fecha'=>$fechaDate)));
		$this->set('conteoProductos',$conteoProductos);
		$hora=$this->Dato->find('first',array('fields'=>array('Dato.horafinal')));
		$horaFinal = $hora['Dato']['horafinal'];
		if ($fechaDia>$horaFinal)
		{
			$tipoContenido=true;
			$this->set('tipoContenido',$tipoContenido);
		}
		else
		{
			$tipoContenido=false;
			$this->set('tipoContenido',$tipoContenido);
		}
			$metodosPago= $this->Pago->find('all');
		$this->set('metodosPago',$metodosPago);
	}
	function addSugerencia(){
		//Configure::write('debug', 0);
		if (!empty($this->data)){
			$this->Sugerencia->create();
			$this->Sugerencia->data['Sugerencia']['nombre']=$this->data['Menu']['nombre'];
			$this->Sugerencia->data['Sugerencia']['detalle']=$this->data['Menu']['detalle'];
			if ($this->Sugerencia->save($this->data,array('validate'=>'first'))){
				$this->Session->write('text','&iexcl;Gracias por tu sugerencia, la tomaremos en cuenta!');
				$this->mailSugerencia($this->data['Menu']['nombre'],$this->data['Menu']['detalle']);
			}
			else{
				$this->Session->write('text','Sugerencia no Enviada, confirme que no ha dejado campos en blanco o un nombre invalido y pruebe de nuevamente');
			}
		}
		else{
			$this->Session->write('text','Ha Ocurrido un Error, Intente Nuevamente');
		}
	}
	
	function mailSugerencia($nombre,$detalle){

            $this->SwiftMailer->smtpType = $this->tipoSmtp;
            $this->SwiftMailer->smtpHost = $this->hostSmtp;
            $this->SwiftMailer->smtpPort = $this->puertoSmtp;
            $this->SwiftMailer->smtpUsername = $this->usernameSmtp;
            $this->SwiftMailer->smtpPassword = $this->passwordSmtp;
            $this->SwiftMailer->sendAs = $this->enviarComo;
            $this->SwiftMailer->from = $this->remitente;
            /*
            $this->SwiftMailer->smtpType = '';
            $this->SwiftMailer->smtpHost = 'mail.prontodelicafe.com';
            $this->SwiftMailer->smtpPort = 26;
            $this->SwiftMailer->smtpUsername = 'admin@prontodelicafe.com';
            $this->SwiftMailer->smtpPassword = 'mrubertelli';
            $this->SwiftMailer->sendAs = 'html';
            $this->SwiftMailer->from = 'admin@prontodelicafe.com';
             */
            $this->SwiftMailer->fromName = 'Nueva Sugerencia';

            //direccion de correo del administrador del sitio (etapa de produccion)
            //$this->SwiftMailer->to = 'marcorubertelli@hotmail.com';

            //direccion de prueba en etapa de desarrollo
            $this->SwiftMailer->to = 'juan.escalante22@gmail.com';

            $this->set('fecha',date('d/m/Y'));
            //$this->set('hora',date('H:i:s'));
            $date = date('H:i:s');
            $timestamp = strtotime(date("H:i:s", strtotime($date)) . " + 1 hour"." + 30 minutes");
            $horacliente = date('H:i:s', $timestamp);
            $this->set('hora',$horacliente);
            
            // para prueba de cron
            $this->set('nombre',"cron");
            $this->set('detalle',"cron");
            /*
            $this->set('nombre',$nombre);
            $this->set('detalle',$detalle);
             */
		
        try {
            if(!$this->SwiftMailer->send('sugerencia', 'Envio Nueva Sugerencia')) { 
                $this->log("Error Enviando Email");
				$this->Session->write('envi','Error, correo no enviado, Intente de nuevo');
            } 
        } 
        catch(Exception $e) { 
              $this->log("Failed to send email: ".$e->getMessage());
        }
	}
}
?>